﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CBE.Model;
using CBE.ServiceLogic;
using Common.UI.Report;
using CBE.UI.Control.Views;
using CBE.UI.Control.Presenters;

namespace CBE.UI.Control
{
    public class ReporteDemandaPromocionesController : GenericReportController<ReporteDemandaPromocionesView, ReporteDemandaPromocionesCriteria, ReporteDemandaPromocionesServiceLogic>
    {
        public override string Title
        {
            get
            {
                return "Reporte de demanda de promociones";
            }
        }

        protected override Common.UI.Report.Views.FilterDataView CreateFilterDataView()
        {
            return new ReporteDemandaPromocionesFilterDataView();
        }

        protected override void CreateEntityPresentationModel()
        {
            this.ReportPresentationModel = new ReporteDemandaPromocionesPresentationModel(this.CreateFilterView(), this.CreateListView());
        }

        protected override void AddColumnDefinitions()
        {
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.CodigoPropertyName, "Código");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.DescripcionPropertyName, "Descripción promoción");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.FechaInicioStringPropertyName, "Fecha inicio");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.FechaFinStringPropertyName, "Fecha fin");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.ServiciosPropertyName, "Servicios");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.CantidadUsoPromocionPropertyName, "Cantidad total de uso de promoción");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.ImporteBonificadoPropertyName, "Importe total bonificado");
            this.ReportPresentationModel.AddColumnDefinition(ReporteDemandaPromocionesView.EsPromocionPublicaPropertyName, "Es promoción pública");
        }
    }
}